import os.path

import pandas as pd


class DataOperation:
    def __init__(self, path):
        self.table = pd.read_csv(path)

    def get_table_to_dict(self):
        # 将在文件中获取到的数据转化成字典,并存放在列表中 [{}, {}, {}, ...]
        # 使用列表推导式
        return [self.table.iloc[i].to_dict() for i in self.table.index.values]

    def get_table_tolist(self):
        # 将在文件中获取到的数据转化成列表,并添加到列表中 [[], [], [], ...]
        return self.table.values.tolist()


if __name__ == '__main__':
    # 拼接文件路径
    path1 = os.path.abspath(__file__)  # 先获取文件的绝对路径
    path2 = os.path.dirname(path1)      # 获取文件所在目录的绝对路径
    path3 = os.path.dirname(path2)             # 获取文件所在目录的上一级目录,因为所需文件的所在目录就在这个目录下
    # path = 'file:///' + path3 + '/data/lj_data.csv'   # 第一种拼接方式
    path = os.path.join(path3, 'data/lj_data.csv')     # 第二种拼接方式

    data = DataOperation(path)
    # print(data.get_table_to_dict())
    print(data.get_table_tolist())
